attribute vec4 vPos; 
attribute vec3 vNormal; 
varying vec3 tnorm;
varying vec3 lvec;
varying vec3 hvec;
uniform mat4 mvMatrix;
uniform mat4 mvpMatrix;
uniform mat3 normalMatrix;
uniform vec4 lightPos;
void main (void) 
{ 
  vec4 ep = mvMatrix * vPos;
  lvec = vec3(normalize(lightPos - ep));
  tnorm = normalize(normalMatrix * vNormal);
  vec3 v = normalize(vec3(-ep));
  hvec = normalize(lvec + v);
  gl_Position = mvpMatrix * vPos;
}

